import axios from 'axios' //引入axios
import {
    Notify,
    Toast
} from 'vant';
import store from '../store'
import router from '../router'


// 设置axios请求地址
axios.defaults.baseURL = process.env.VUE_APP_BASE_API_URL + '/api';
// axios.defaults.baseURL = window.location.origin + '/api';
// console.log("域名",window.location);

//设置请求超时
axios.defaults.timeout = 30000;

// 添加请求拦截器
axios.interceptors.request.use(request => {
    if (store.state.user.token && store.state.user.token != 'undefined') {
        request.data = {
            encryptedIdentityData: store.state.user.token, //设置token
            ...request.data,
        };
        // console.log("request",request.data);
    }
    // 在发送请求之前做些什么
    return request;
}, error => {
    // 对请求错误做些什么
    Notify({ type: 'danger', message: error.message });
    return Promise.reject(error);
});

// 添加响应拦截器
axios.interceptors.response.use(response => {
    // 对响应数据做点什么
    if (response.data.code && response.data.code === 200) {
        // 返回成功，直接返回data
        return response.data;
    } else if (response.data.code && response.data.code === 401) {
        store.dispatch('loginOut');
        // Notify({ type: 'danger', message: "登录失效，请重新登录" });
        // router.push('/')
    } else {
        // Notify({ type: 'danger', message:response.data.msg });
        return Promise.reject(response.data)
    }
}, error => {
    // 对响应错误做点什么
    // Notify({ type: 'danger', message: error.message });
    Toast(error.message)
    return Promise.reject(error);
});


export default axios;